﻿using Sustainalytics.DynamicsCRMGateway.Entities;
using System.Collections.Generic;
using Sustainalytics.Entities.ESGRatings;

namespace Sustainalytics.Universes.Synchronization
{
    public interface IUniverseInfo
    {
        IEnumerable<Account> AccountSet
        {
            get;
            set;
        }

        IEnumerable<AccountUniverse> AccountUniverseSet
        {
            get;
            set;
        }
        IEnumerable<CompaniesGroup> CompaniesGroupSet
        {
            get;
            set;
        }
        IEnumerable<ProductUniverse> ProductUniverseSet
        {
            get;
            set;
        }

        IEnumerable<UniverseFeatureProductUniverseBridge> UniverseFeatureProductUniverseBridgeSet
        {
            get;
            set;
        }

        IEnumerable<UniverseFeature> UniverseFeatureSet
        {
            get;
            set;
        }
        IEnumerable<CompaniesGroupConstituent> CompaniesGroupConstituentSet
        {
            get;
            set;
        }

        IEnumerable<Company> CompanySet
        {
            get;
            set;
        }

        IEnumerable<CompaniesGroupAccountUniverseBridge> CompaniesGroupAccountUniverseBridgeSet
        {
            get;
            set;
        }

        ReferenceUniverse[] ReferenceUniverseSet
        {
            get;
            set;
        }
        void LoadData();
        void Clean();

    }
}
